查看原文
其他

好享学丨划重点 ! 经济学学Python 需要学哪些内容?——数据可视化呈现必知必会的知识点

The following article is from 数据Seminar Author 王学习



好享学是高下制图推出的关于数据可视化经验分享栏目,我们将定期与您分享各界优秀人士的制图经验,一同学习。






说起数据可视化, Stata 用户想到的可能是 graph命令, R 用户想到的可能是ggplot 命令,而第三库丰富的 Python 则会提供给你更多的选择。对于经济学专业的同学们,在实际学习中比较常用的数据可视化需求,其实有两类情况:一种是在描述性统计中描述数据的概括,为后续的实证分析做支持;另一种是在实证分析中,为了让自己的分析更“出彩”或者是用了某些新的方法(例如机器学习),能够更加形象地展示计量结果而做数据分析的可视化呈现。




(一)描述性统计中可用的 Python 可视化包

对于第一类的可视化需求,一般流程多是通过诸如 Excel 一类的软件完成的,而当你学会了 Python 以后,你可以非常轻松地利用  matplotlib 库,来实现基础的数据可视化。



1. matplotlib

matplotlib 是 Python 数据可视化的基础,众多的可视化第三包都是基于 matplotlib 派生的。如果你学习了 Pandas,会发现,Pandas 其实也可以做数据呈现,通过 dataframe.plot() 的代码,就能够呈现出数据了。Pandas 的可视化呈现就是在调用 matplotlib。
也许你已经发现了,绝大多数推荐 Python 数据可视化的文章,都会将它写在第一位。这也从侧面反映了其重要性。学好 matplotlib 已经能够满足绝大多数的数据可视化需求了,在学完基础的语法及用法后,推荐去参考下面的官方示例链接,根据示例再进一步地提高自己的代码水平。


官方地址:

https://matplotlib.org/

官方示例:

https://matplotlib.org/gallery/index.html


官方示例页面的每一张图片,点击后都能看到详细的 Python 代码。还有什么比这样的学习方式更快捷高效的呢?




2. Seaborn

我们要介绍了的第二个可视化包,同样名声在外,许多 Python 老鸟更倾向于使用 Seaborn 来绘制他们的图表。Seaborn 也是基于 matplotlib ,它对 matplotlib 进行了一定的封装,让你能够更加快速上手的同时绘制出更美观的图表。当然,封装意味着一定自由度的缺失,如果你想更自主地作图,你依然可以选择使用 matplotlib。
同样,下面官方示例的链接中给出了每一种图表具体的 Python 的代码。


官方地址:

https://seaborn.pydata.org/

官方示例:

https://seaborn.pydata.org/examples/index.html



其他好用,并且推荐尝试的可视化包

ggplot2:什么?ggplot 不是 R 的包吗?是的,ggplot2 是 R 语言上著名的可视化包,但是,现在你可以在 Python 上使用它了。语法结构会让 R 语言的用户倍感亲切。
Bokeh:与 ggplot 的代码理念相似的制图包,同样推荐给接触过R语言的用户。
Plotly:Plotly 是一个拿过年度10佳的开源项目,但是要使用它,你首先需要在他们的官网:https://plot.ly/python/,拿到一个 API 密钥才能看到你做的图。Plotly 有比较好的用户界面,当你做完图后,可以通过鼠标点点的方式进行颜色、数轴的修改。

科普园地 /Science Park


API:即应用程序编程接口(Application Programming Interface),所谓API就是软件封装后留下了的接口,你可以类比为一个插座,当你用正确的插头插到这个接口(API)时,就成功通电了。上例中,Plotly 这块第三包的使用方式,就是需要你在代码中填入一个从官方获取的密钥,这个密钥标示了你的个人身份,就好像身份证一般。通过这个密钥,Plotly才会开放API给用户绘制图表。不然,仅仅靠代码,是没办法看到可视化的结果的。

pyecharts:来自国内 百度 的良心产品,源自 echarts 项目(一个JavaScript项目)。所以在绘图中的一些定制项会非常类似 JavaScript 的程序理念。相对而言,显得不那么像 Python 的逻辑。但是作为用户,参照文档依然能够实现比较好的数据可视化效果。




(二)实证分析、机器学习方法中可用的可视化包

接下来要说的是一些在实证分析中可能会用到的可视化包。首先需要明确的是,上述提到的可视化包,都可以在论文的任何地方出现。



1. matplotlib + 其他

Matplotlib 广泛的在许多计量、机器学习包中被使用。因此,在许多情况下,通过计量、机器学习库 + matplotlib 就能够实现很好的可视化效果。
例如 statsmodels + matplotlib:

再例如:sklearn + matplotlib:



2. Yellowbrick 机器学习中的可视化呈现

可视化呈现机器学习,帮助你更好地做模型的选择与参数的调整。Yellowbrick 是一个能够帮助你查看机器学习模型训练结果的库,能够呈现:

1、特征的可视化                 

2、分类的可视化

3、回归可视化

4、聚类可视化

5、模型选择可视化

6、文本可视化

在众多的机器学习问题中都帮助到用户,更直观地观察训练结果。你可以通过官方示例的地址,查看 Yellowbrick 是如何呈现这些数据集的。

官方地址:

https://www.scikit-yb.org/

官方示例:

https://www.scikit-yb.org/en/latest/gallery.html




3. 地图可视化库:folium 与 Basemp

folium 和 Basemp 都是在python中较多被使用的地图可视化库。
Folium 中有较多的地图类型可供使用,例如下图这种风格的地图:

你可以通过 folium 创建热力图、设色图,甚至可以在地图上绘制各种图标。他们的官方示例存放在了 jupyter notebook 中,关于 jupyter notebook,可以参考我们此前的推文(忘记了的小伙伴可以在公众号内发送暗语“复习”查看喔~)。


项目地址:

https://python-visualization.github.io/folium/

官方示例:

https://nbviewer.jupyter.org/github/python-visualization/folium/tree/master/examples/

Basemp 提高了成熟的静态地图绘制的功能。在地理信息读写、坐标映射、空间坐标转化与投影等方面做得都比较好。并且它可以使用常规的地图素材数据源(shp)作为底图进行叠加绘图,方便用户的使用。




项目地址:

https://matplotlib.org/basemap/index.html

官方示例:

https://matplotlib.org/basemap/users/examples.html






最后简单小结一下,对于经济学专业的学生来说,用 Python 画图,如果只是简单的绘图需求,那么使用 Seaborn 能够快速绘制出好看的图表,当然如果你能够正确地申请到 Plotly 的密钥,我们同样推荐使用 Plotly。而对于想要用 Python 实现更多可视化需求的用户,那么学好 matplotlib 必不可少。





end









数据Seminar




这里是大数据、分析技术与学术研究的三叉路口




作者:王学习(黄胜蓝)审阅:杨奇明、赵建国(赵哲)编辑:青酱





还在为如何制作精美图表苦恼头秃么?全新推出高下制图app,不断更新的制图模板,随心更改样式,轻松一键制图。现在积极参与高下制图内测,更有机会获得正式版会员,享受轻松作图哦。更多详情请扫码进群了解
    欢迎扫描👇二维码添加关注    











往期推荐

新世野 | 世界上有多少人一起网抑云?索尼让音乐被“看见”

经济学家的数据可视化指南

新世野|在作图上,经济学人都在犯错,你该如何避免?

Kepler.gl 不需要一行代码就能完成数据地图

新世野|上下900年的树状图

好享学丨工具 Flourish 上手体验 & 将其嵌入PPT中

新世野丨深扒制图渊源,竟发现苹果才是制图一哥






您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存